package com.honey.serializable;

import com.honey.serializable.json.GoogleGson;
import com.honey.serializable.json.NetSfJson;
import com.honey.serializable.json.OrgJson;
import com.honey.serializable.json.OrgJsonSimple;
import com.honey.serializable.xml.XmlSerial;

public class SerializableObjectFactory {

	public static SerializableObjectMethod getAppendToJsonObjectMethod(SerializableLibraay jsonLibrary ){
		
		return jsonLibrary.getAppendToJsonObjectMethod();
	}
	
	public enum SerializableLibraay{
		GOOGLE_GSON {
			SerializableObjectMethod  getAppendToJsonObjectMethod(){
				return new GoogleGson();
			}
		},
		
		NET_SF_JSON{
			SerializableObjectMethod  getAppendToJsonObjectMethod(){
				return new NetSfJson();
			}
		},
		
		ORG_JSON{
			SerializableObjectMethod  getAppendToJsonObjectMethod(){
				return new OrgJson();
			}
		},
		
		ORG_JSON_SIMPLE{
			SerializableObjectMethod  getAppendToJsonObjectMethod(){
				return new OrgJsonSimple();
			}
		},
		
		HONEY_XML{
			SerializableObjectMethod  getAppendToJsonObjectMethod(){
				return new XmlSerial();
			}
		},
		
		;
		
		abstract SerializableObjectMethod getAppendToJsonObjectMethod();
	}
	
	
}
